<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/Python-3.6.2/Include/pythonrun.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/Python-3.6.2/Include/pythonrun.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> 
<a name="2" /><span class="True">       2:</span> <span class="k">/* Interfaces to parse and execute pieces of python code */</span>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="macros_noref.html#_UHlfUFlUSE9OUlVOX0hfMA__"><span class="b">Py_PYTHONRUN_H</span></a>
<a name="5" /><span class="True">       5:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlfUFlUSE9OUlVOX0hfMA__"><span class="b">Py_PYTHONRUN_H</span></a>
<a name="6" /><span class="False">       6:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">__cplusplus</span>
<a name="7" /><span class="False">       7:</span> <span class="m">extern</span> <span class="e">&quot;C&quot;</span> <span class="f">{</span>
<a name="8" /><span class="True">       8:</span> <span class="f">#</span><span class="n">endif</span>
<a name="9" /><span class="True">       9:</span> 
<a name="10" /><span class="True">      10:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlDRl9NQVNLXzA_"><span class="b">PyCF_MASK</span></a> <span class="f">(</span><a href="macros_noref.html#_Q09fRlVUVVJFX0RJVklTSU9OXzA_"><span class="b">CO_FUTURE_DIVISION</span></a> <span class="f">|</span> <a href="macros_noref.html#_Q09fRlVUVVJFX0FCU09MVVRFX0lNUE9SVF8w"><span class="b">CO_FUTURE_ABSOLUTE_IMPORT</span></a> <span class="f">|</span> \
<a name="11" /><span class="True">      11:</span>                    <a href="macros_noref.html#_Q09fRlVUVVJFX1dJVEhfU1RBVEVNRU5UXzA_"><span class="b">CO_FUTURE_WITH_STATEMENT</span></a> <span class="f">|</span> <a href="macros_noref.html#_Q09fRlVUVVJFX1BSSU5UX0ZVTkNUSU9OXzA_"><span class="b">CO_FUTURE_PRINT_FUNCTION</span></a> <span class="f">|</span> \
<a name="12" /><span class="True">      12:</span>                    <a href="macros_noref.html#_Q09fRlVUVVJFX1VOSUNPREVfTElURVJBTFNfMA__"><span class="b">CO_FUTURE_UNICODE_LITERALS</span></a> <span class="f">|</span> <a href="macros_noref.html#_Q09fRlVUVVJFX0JBUlJZX0FTX0JERkxfMA__"><span class="b">CO_FUTURE_BARRY_AS_BDFL</span></a> <span class="f">|</span> \
<a name="13" /><span class="True">      13:</span>                    <a href="macros_noref.html#_Q09fRlVUVVJFX0dFTkVSQVRPUl9TVE9QXzA_"><span class="b">CO_FUTURE_GENERATOR_STOP</span></a><span class="f">)</span>
<a name="14" /><span class="True">      14:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlDRl9NQVNLX09CU09MRVRFXzA_"><span class="b">PyCF_MASK_OBSOLETE</span></a> <span class="f">(</span><a href="macros_noref.html#_Q09fTkVTVEVEXzA_"><span class="b">CO_NESTED</span></a><span class="f">)</span>
<a name="15" /><span class="True">      15:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlDRl9TT1VSQ0VfSVNfVVRGOF8w"><span class="b">PyCF_SOURCE_IS_UTF8</span></a>  <span class="c">0x0100</span>
<a name="16" /><span class="True">      16:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlDRl9ET05UX0lNUExZX0RFREVOVF8w"><span class="b">PyCF_DONT_IMPLY_DEDENT</span></a> <span class="c">0x0200</span>
<a name="17" /><span class="True">      17:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlDRl9PTkxZX0FTVF8w"><span class="b">PyCF_ONLY_AST</span></a> <span class="c">0x0400</span>
<a name="18" /><span class="True">      18:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlDRl9JR05PUkVfQ09PS0lFXzA_"><span class="b">PyCF_IGNORE_COOKIE</span></a> <span class="c">0x0800</span>
<a name="19" /><span class="True">      19:</span> 
<a name="20" /><span class="True">      20:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="21" /><span class="True">      21:</span> <span class="m">typedef</span> <span class="m">struct</span> <span class="f">{</span>
<a name="22" /><span class="True">      22:</span>     <span class="m">int</span> <span class="b">cf_flags</span><span class="f">;</span>  <span class="k">/* bitmask of CO_xxx flags relevant to future */</span>
<a name="23" /><span class="True">      23:</span> <span class="f">}</span> <span class="b">PyCompilerFlags</span><span class="f">;</span>
<a name="24" /><span class="True">      24:</span> <span class="f">#</span><span class="n">endif</span>
<a name="25" /><span class="True">      25:</span> 
<a name="26" /><span class="True">      26:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="27" /><span class="True">      27:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyRun_SimpleStringFlags</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="28" /><span class="True">      28:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <a href="macros_noref.html#_UHlSdW5fQW55RmlsZUZsYWdzXzA_"><span class="b">PyRun_AnyFileFlags</span></a><span class="f">(</span><span class="b">FILE</span> <span class="f">*</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="29" /><span class="True">      29:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyRun_AnyFileExFlags</span><span class="f">(</span>
<a name="30" /><span class="True">      30:</span>     <span class="b">FILE</span> <span class="f">*</span><span class="b">fp</span><span class="f">,</span>
<a name="31" /><span class="True">      31:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="32" /><span class="True">      32:</span>     <span class="m">int</span> <span class="b">closeit</span><span class="f">,</span>
<a name="33" /><span class="True">      33:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">)</span><span class="f">;</span>
<a name="34" /><span class="True">      34:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyRun_SimpleFileExFlags</span><span class="f">(</span>
<a name="35" /><span class="True">      35:</span>     <span class="b">FILE</span> <span class="f">*</span><span class="b">fp</span><span class="f">,</span>
<a name="36" /><span class="True">      36:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="37" /><span class="True">      37:</span>     <span class="m">int</span> <span class="b">closeit</span><span class="f">,</span>
<a name="38" /><span class="True">      38:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">)</span><span class="f">;</span>
<a name="39" /><span class="True">      39:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyRun_InteractiveOneFlags</span><span class="f">(</span>
<a name="40" /><span class="True">      40:</span>     <span class="b">FILE</span> <span class="f">*</span><span class="b">fp</span><span class="f">,</span>
<a name="41" /><span class="True">      41:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="42" /><span class="True">      42:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">)</span><span class="f">;</span>
<a name="43" /><span class="True">      43:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyRun_InteractiveOneObject</span><span class="f">(</span>
<a name="44" /><span class="True">      44:</span>     <span class="b">FILE</span> <span class="f">*</span><span class="b">fp</span><span class="f">,</span>
<a name="45" /><span class="True">      45:</span>     <span class="b">PyObject</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>
<a name="46" /><span class="True">      46:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">)</span><span class="f">;</span>
<a name="47" /><span class="True">      47:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyRun_InteractiveLoopFlags</span><span class="f">(</span>
<a name="48" /><span class="True">      48:</span>     <span class="b">FILE</span> <span class="f">*</span><span class="b">fp</span><span class="f">,</span>
<a name="49" /><span class="True">      49:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="50" /><span class="True">      50:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">)</span><span class="f">;</span>
<a name="51" /><span class="True">      51:</span> 
<a name="52" /><span class="True">      52:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">_mod</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyParser_ASTFromString</span><span class="f">(</span>
<a name="53" /><span class="True">      53:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">s</span><span class="f">,</span>
<a name="54" /><span class="True">      54:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="55" /><span class="True">      55:</span>     <span class="m">int</span> <span class="b">start</span><span class="f">,</span>
<a name="56" /><span class="True">      56:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">,</span>
<a name="57" /><span class="True">      57:</span>     <span class="b">PyArena</span> <span class="f">*</span><span class="b">arena</span><span class="f">)</span><span class="f">;</span>
<a name="58" /><span class="True">      58:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">_mod</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyParser_ASTFromStringObject</span><span class="f">(</span>
<a name="59" /><span class="True">      59:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">s</span><span class="f">,</span>
<a name="60" /><span class="True">      60:</span>     <span class="b">PyObject</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>
<a name="61" /><span class="True">      61:</span>     <span class="m">int</span> <span class="b">start</span><span class="f">,</span>
<a name="62" /><span class="True">      62:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">,</span>
<a name="63" /><span class="True">      63:</span>     <span class="b">PyArena</span> <span class="f">*</span><span class="b">arena</span><span class="f">)</span><span class="f">;</span>
<a name="64" /><span class="True">      64:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">_mod</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyParser_ASTFromFile</span><span class="f">(</span>
<a name="65" /><span class="True">      65:</span>     <span class="b">FILE</span> <span class="f">*</span><span class="b">fp</span><span class="f">,</span>
<a name="66" /><span class="True">      66:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="67" /><span class="True">      67:</span>     <span class="m">const</span> <span class="m">char</span><span class="f">*</span> <span class="b">enc</span><span class="f">,</span>
<a name="68" /><span class="True">      68:</span>     <span class="m">int</span> <span class="b">start</span><span class="f">,</span>
<a name="69" /><span class="True">      69:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">ps1</span><span class="f">,</span>
<a name="70" /><span class="True">      70:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">ps2</span><span class="f">,</span>
<a name="71" /><span class="True">      71:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">,</span>
<a name="72" /><span class="True">      72:</span>     <span class="m">int</span> <span class="f">*</span><span class="b">errcode</span><span class="f">,</span>
<a name="73" /><span class="True">      73:</span>     <span class="b">PyArena</span> <span class="f">*</span><span class="b">arena</span><span class="f">)</span><span class="f">;</span>
<a name="74" /><span class="True">      74:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">_mod</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyParser_ASTFromFileObject</span><span class="f">(</span>
<a name="75" /><span class="True">      75:</span>     <span class="b">FILE</span> <span class="f">*</span><span class="b">fp</span><span class="f">,</span>
<a name="76" /><span class="True">      76:</span>     <span class="b">PyObject</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>
<a name="77" /><span class="True">      77:</span>     <span class="m">const</span> <span class="m">char</span><span class="f">*</span> <span class="b">enc</span><span class="f">,</span>
<a name="78" /><span class="True">      78:</span>     <span class="m">int</span> <span class="b">start</span><span class="f">,</span>
<a name="79" /><span class="True">      79:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">ps1</span><span class="f">,</span>
<a name="80" /><span class="True">      80:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">ps2</span><span class="f">,</span>
<a name="81" /><span class="True">      81:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">,</span>
<a name="82" /><span class="True">      82:</span>     <span class="m">int</span> <span class="f">*</span><span class="b">errcode</span><span class="f">,</span>
<a name="83" /><span class="True">      83:</span>     <span class="b">PyArena</span> <span class="f">*</span><span class="b">arena</span><span class="f">)</span><span class="f">;</span>
<a name="84" /><span class="True">      84:</span> <span class="f">#</span><span class="n">endif</span>
<a name="85" /><span class="True">      85:</span> 
<a name="86" /><span class="True">      86:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="macros_noref.html#_UHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdfMA__"><span class="b">PyParser_SimpleParseString</span></a>
<a name="87" /><span class="True">      87:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdfMA__"><span class="b">PyParser_SimpleParseString</span></a><span class="f">(</span><span class="b">S</span><span class="f">,</span> <span class="b">B</span><span class="f">)</span> \
<a name="88" /><span class="True">      88:</span>     <span class="b">PyParser_SimpleParseStringFlags</span><span class="f">(</span><span class="b">S</span><span class="f">,</span> <span class="b">B</span><span class="f">,</span> <span class="c">0</span><span class="f">)</span>
<a name="89" /><span class="True">      89:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlXzA_"><span class="b">PyParser_SimpleParseFile</span></a><span class="f">(</span><span class="b">FP</span><span class="f">,</span> <span class="b">S</span><span class="f">,</span> <span class="b">B</span><span class="f">)</span> \
<a name="90" /><span class="True">      90:</span>     <span class="b">PyParser_SimpleParseFileFlags</span><span class="f">(</span><span class="b">FP</span><span class="f">,</span> <span class="b">S</span><span class="f">,</span> <span class="b">B</span><span class="f">,</span> <span class="c">0</span><span class="f">)</span>
<a name="91" /><span class="True">      91:</span> <span class="f">#</span><span class="n">endif</span>
<a name="92" /><span class="True">      92:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">_node</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyParser_SimpleParseStringFlags</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">,</span>
<a name="93" /><span class="True">      93:</span>                                                            <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="94" /><span class="True">      94:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">Py_LIMITED_API</span><span class="f">)</span> <span class="f">||</span> <span class="b">Py_LIMITED_API</span><span class="f">+</span><span class="c">0</span> <span class="f">&gt;=</span> <span class="c">0x03030000</span>
<a name="95" /><span class="True">      95:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">_node</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyParser_SimpleParseStringFlagsFilename</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span>
<a name="96" /><span class="True">      96:</span>                                                                    <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span>
<a name="97" /><span class="True">      97:</span>                                                                    <span class="m">int</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="98" /><span class="True">      98:</span> <span class="f">#</span><span class="n">endif</span>
<a name="99" /><span class="True">      99:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">_node</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyParser_SimpleParseFileFlags</span><span class="f">(</span><span class="b">FILE</span> <span class="f">*</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span>
<a name="100" /><span class="True">     100:</span>                                                          <span class="m">int</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="101" /><span class="True">     101:</span> 
<a name="102" /><span class="True">     102:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="103" /><span class="True">     103:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyRun_StringFlags</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">,</span> <span class="b">PyObject</span> <span class="f">*</span><span class="f">,</span>
<a name="104" /><span class="True">     104:</span>                                          <span class="b">PyObject</span> <span class="f">*</span><span class="f">,</span> <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="105" /><span class="True">     105:</span> 
<a name="106" /><span class="True">     106:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyRun_FileExFlags</span><span class="f">(</span>
<a name="107" /><span class="True">     107:</span>     <span class="b">FILE</span> <span class="f">*</span><span class="b">fp</span><span class="f">,</span>
<a name="108" /><span class="True">     108:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="109" /><span class="True">     109:</span>     <span class="m">int</span> <span class="b">start</span><span class="f">,</span>
<a name="110" /><span class="True">     110:</span>     <span class="b">PyObject</span> <span class="f">*</span><span class="b">globals</span><span class="f">,</span>
<a name="111" /><span class="True">     111:</span>     <span class="b">PyObject</span> <span class="f">*</span><span class="b">locals</span><span class="f">,</span>
<a name="112" /><span class="True">     112:</span>     <span class="m">int</span> <span class="b">closeit</span><span class="f">,</span>
<a name="113" /><span class="True">     113:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">)</span><span class="f">;</span>
<a name="114" /><span class="True">     114:</span> <span class="f">#</span><span class="n">endif</span>
<a name="115" /><span class="True">     115:</span> 
<a name="116" /><span class="False">     116:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">Py_LIMITED_API</span>
<a name="117" /><span class="False">     117:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span> <a href="macros_noref.html#_UHlfQ29tcGlsZVN0cmluZ18w"><span class="b">Py_CompileString</span></a><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="118" /><span class="True">     118:</span> <span class="f">#</span><span class="n">else</span>
<a name="119" /><span class="True">     119:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlfQ29tcGlsZVN0cmluZ18w"><span class="b">Py_CompileString</span></a><span class="f">(</span><span class="b">str</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">)</span> <span class="b">Py_CompileStringExFlags</span><span class="f">(</span><span class="b">str</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">,</span> <span class="f">-</span><span class="c">1</span><span class="f">)</span>
<a name="120" /><span class="True">     120:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlfQ29tcGlsZVN0cmluZ0ZsYWdzXzA_"><span class="b">Py_CompileStringFlags</span></a><span class="f">(</span><span class="b">str</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">f</span><span class="f">)</span> <span class="b">Py_CompileStringExFlags</span><span class="f">(</span><span class="b">str</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">f</span><span class="f">,</span> <span class="f">-</span><span class="c">1</span><span class="f">)</span>
<a name="121" /><span class="True">     121:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span> <span class="b">Py_CompileStringExFlags</span><span class="f">(</span>
<a name="122" /><span class="True">     122:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">str</span><span class="f">,</span>
<a name="123" /><span class="True">     123:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="124" /><span class="True">     124:</span>     <span class="m">int</span> <span class="b">start</span><span class="f">,</span>
<a name="125" /><span class="True">     125:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">,</span>
<a name="126" /><span class="True">     126:</span>     <span class="m">int</span> <span class="b">optimize</span><span class="f">)</span><span class="f">;</span>
<a name="127" /><span class="True">     127:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span> <span class="b">Py_CompileStringObject</span><span class="f">(</span>
<a name="128" /><span class="True">     128:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">str</span><span class="f">,</span>
<a name="129" /><span class="True">     129:</span>     <span class="b">PyObject</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span> <span class="m">int</span> <span class="b">start</span><span class="f">,</span>
<a name="130" /><span class="True">     130:</span>     <span class="b">PyCompilerFlags</span> <span class="f">*</span><span class="b">flags</span><span class="f">,</span>
<a name="131" /><span class="True">     131:</span>     <span class="m">int</span> <span class="b">optimize</span><span class="f">)</span><span class="f">;</span>
<a name="132" /><span class="True">     132:</span> <span class="f">#</span><span class="n">endif</span>
<a name="133" /><span class="True">     133:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">symtable</span> <span class="f">*</span><span class="f">)</span> <span class="b">Py_SymtableString</span><span class="f">(</span>
<a name="134" /><span class="True">     134:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">str</span><span class="f">,</span>
<a name="135" /><span class="True">     135:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>       <span class="k">/* decoded from the filesystem encoding */</span>
<a name="136" /><span class="True">     136:</span>     <span class="m">int</span> <span class="b">start</span><span class="f">)</span><span class="f">;</span>
<a name="137" /><span class="True">     137:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="138" /><span class="True">     138:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">struct</span> <span class="b">symtable</span> <span class="f">*</span><span class="f">)</span> <span class="b">Py_SymtableStringObject</span><span class="f">(</span>
<a name="139" /><span class="True">     139:</span>     <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="b">str</span><span class="f">,</span>
<a name="140" /><span class="True">     140:</span>     <span class="b">PyObject</span> <span class="f">*</span><span class="b">filename</span><span class="f">,</span>
<a name="141" /><span class="True">     141:</span>     <span class="m">int</span> <span class="b">start</span><span class="f">)</span><span class="f">;</span>
<a name="142" /><span class="True">     142:</span> <span class="f">#</span><span class="n">endif</span>
<a name="143" /><span class="True">     143:</span> 
<a name="144" /><span class="True">     144:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="b">PyErr_Print</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="145" /><span class="True">     145:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="b">PyErr_PrintEx</span><span class="f">(</span><span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="146" /><span class="True">     146:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="b">PyErr_Display</span><span class="f">(</span><span class="b">PyObject</span> <span class="f">*</span><span class="f">,</span> <span class="b">PyObject</span> <span class="f">*</span><span class="f">,</span> <span class="b">PyObject</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="147" /><span class="True">     147:</span> 
<a name="148" /><span class="True">     148:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="149" /><span class="True">     149:</span> <span class="k">/* Use macros for a bunch of old variants */</span>
<a name="150" /><span class="True">     150:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fU3RyaW5nXzA_"><span class="b">PyRun_String</span></a><span class="f">(</span><span class="b">str</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">g</span><span class="f">,</span> <span class="b">l</span><span class="f">)</span> <span class="b">PyRun_StringFlags</span><span class="f">(</span><span class="b">str</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">g</span><span class="f">,</span> <span class="b">l</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="151" /><span class="True">     151:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fQW55RmlsZV8w"><span class="b">PyRun_AnyFile</span></a><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">name</span><span class="f">)</span> <span class="b">PyRun_AnyFileExFlags</span><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">name</span><span class="f">,</span> <span class="c">0</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="152" /><span class="True">     152:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fQW55RmlsZUV4XzA_"><span class="b">PyRun_AnyFileEx</span></a><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">name</span><span class="f">,</span> <span class="b">closeit</span><span class="f">)</span> \
<a name="153" /><span class="True">     153:</span>     <span class="b">PyRun_AnyFileExFlags</span><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">name</span><span class="f">,</span> <span class="b">closeit</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="154" /><span class="True">     154:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fQW55RmlsZUZsYWdzXzA_"><span class="b">PyRun_AnyFileFlags</span></a><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">name</span><span class="f">,</span> <span class="b">flags</span><span class="f">)</span> \
<a name="155" /><span class="True">     155:</span>     <span class="b">PyRun_AnyFileExFlags</span><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">name</span><span class="f">,</span> <span class="c">0</span><span class="f">,</span> <span class="b">flags</span><span class="f">)</span>
<a name="156" /><span class="True">     156:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fU2ltcGxlU3RyaW5nXzA_"><span class="b">PyRun_SimpleString</span></a><span class="f">(</span><span class="b">s</span><span class="f">)</span> <span class="b">PyRun_SimpleStringFlags</span><span class="f">(</span><span class="b">s</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="157" /><span class="True">     157:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fU2ltcGxlRmlsZV8w"><span class="b">PyRun_SimpleFile</span></a><span class="f">(</span><span class="b">f</span><span class="f">,</span> <span class="b">p</span><span class="f">)</span> <span class="b">PyRun_SimpleFileExFlags</span><span class="f">(</span><span class="b">f</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="c">0</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="158" /><span class="True">     158:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fU2ltcGxlRmlsZUV4XzA_"><span class="b">PyRun_SimpleFileEx</span></a><span class="f">(</span><span class="b">f</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">c</span><span class="f">)</span> <span class="b">PyRun_SimpleFileExFlags</span><span class="f">(</span><span class="b">f</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">c</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="159" /><span class="True">     159:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fSW50ZXJhY3RpdmVPbmVfMA__"><span class="b">PyRun_InteractiveOne</span></a><span class="f">(</span><span class="b">f</span><span class="f">,</span> <span class="b">p</span><span class="f">)</span> <span class="b">PyRun_InteractiveOneFlags</span><span class="f">(</span><span class="b">f</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="160" /><span class="True">     160:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fSW50ZXJhY3RpdmVMb29wXzA_"><span class="b">PyRun_InteractiveLoop</span></a><span class="f">(</span><span class="b">f</span><span class="f">,</span> <span class="b">p</span><span class="f">)</span> <span class="b">PyRun_InteractiveLoopFlags</span><span class="f">(</span><span class="b">f</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="161" /><span class="True">     161:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fRmlsZV8w"><span class="b">PyRun_File</span></a><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">g</span><span class="f">,</span> <span class="b">l</span><span class="f">)</span> \
<a name="162" /><span class="True">     162:</span>     <span class="b">PyRun_FileExFlags</span><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">g</span><span class="f">,</span> <span class="b">l</span><span class="f">,</span> <span class="c">0</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="163" /><span class="True">     163:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fRmlsZUV4XzA_"><span class="b">PyRun_FileEx</span></a><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">g</span><span class="f">,</span> <span class="b">l</span><span class="f">,</span> <span class="b">c</span><span class="f">)</span> \
<a name="164" /><span class="True">     164:</span>     <span class="b">PyRun_FileExFlags</span><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">g</span><span class="f">,</span> <span class="b">l</span><span class="f">,</span> <span class="b">c</span><span class="f">,</span> <a href="macros_ref.html#_TlVMTF8w"><span class="b">NULL</span></a><span class="f">)</span>
<a name="165" /><span class="True">     165:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UHlSdW5fRmlsZUZsYWdzXzA_"><span class="b">PyRun_FileFlags</span></a><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">g</span><span class="f">,</span> <span class="b">l</span><span class="f">,</span> <span class="b">flags</span><span class="f">)</span> \
<a name="166" /><span class="True">     166:</span>     <span class="b">PyRun_FileExFlags</span><span class="f">(</span><span class="b">fp</span><span class="f">,</span> <span class="b">p</span><span class="f">,</span> <span class="b">s</span><span class="f">,</span> <span class="b">g</span><span class="f">,</span> <span class="b">l</span><span class="f">,</span> <span class="c">0</span><span class="f">,</span> <span class="b">flags</span><span class="f">)</span>
<a name="167" /><span class="True">     167:</span> <span class="f">#</span><span class="n">endif</span>
<a name="168" /><span class="True">     168:</span> 
<a name="169" /><span class="True">     169:</span> <span class="k">/* Stuff with no proper home (yet) */</span>
<a name="170" /><span class="True">     170:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="171" /><span class="True">     171:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">char</span> <span class="f">*</span><span class="f">)</span> <span class="b">PyOS_Readline</span><span class="f">(</span><span class="b">FILE</span> <span class="f">*</span><span class="f">,</span> <span class="b">FILE</span> <span class="f">*</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="172" /><span class="True">     172:</span> <span class="f">#</span><span class="n">endif</span>
<a name="173" /><span class="True">     173:</span> <a href="macros_ref.html#_UHlBUElfREFUQV8w"><span class="b">PyAPI_DATA</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="f">(</span><span class="f">*</span><span class="b">PyOS_InputHook</span><span class="f">)</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="174" /><span class="True">     174:</span> <a href="macros_ref.html#_UHlBUElfREFUQV8w"><span class="b">PyAPI_DATA</span></a><span class="f">(</span><span class="m">char</span><span class="f">)</span> <span class="f">*</span><span class="f">(</span><span class="f">*</span><span class="b">PyOS_ReadlineFunctionPointer</span><span class="f">)</span><span class="f">(</span><span class="b">FILE</span> <span class="f">*</span><span class="f">,</span> <span class="b">FILE</span> <span class="f">*</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="175" /><span class="True">     175:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">Py_LIMITED_API</span>
<a name="176" /><span class="True">     176:</span> <a href="macros_ref.html#_UHlBUElfREFUQV8w"><span class="b">PyAPI_DATA</span></a><span class="f">(</span><span class="b">PyThreadState</span><span class="f">*</span><span class="f">)</span> <span class="b">_PyOS_ReadlineTState</span><span class="f">;</span>
<a name="177" /><span class="True">     177:</span> <span class="f">#</span><span class="n">endif</span>
<a name="178" /><span class="True">     178:</span> 
<a name="179" /><span class="True">     179:</span> <span class="k">/* Stack size, in &quot;pointers&quot; (so we get extra safety margins</span>
<a name="180" /><span class="True">     180:</span> <span class="k">   on 64-bit platforms).  On a 32-bit platform, this translates</span>
<a name="181" /><span class="True">     181:</span> <span class="k">   to an 8k margin. */</span>
<a name="182" /><span class="True">     182:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_UFlPU19TVEFDS19NQVJHSU5fMA__"><span class="b">PYOS_STACK_MARGIN</span></a> <span class="c">2048</span>
<a name="183" /><span class="True">     183:</span> 
<a name="184" /><span class="False">     184:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">WIN32</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">MS_WIN64</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">defined</span><span class="f">(</span><span class="b">_MSC_VER</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">_MSC_VER</span> <span class="f">&gt;=</span> <span class="c">1300</span>
<a name="185" /><span class="False">     185:</span> <span class="k">/* Enable stack checking under Microsoft C */</span>
<a name="186" /><span class="False">     186:</span> <span class="f">#</span><span class="n">define</span> <span class="b">USE_STACKCHECK</span>
<a name="187" /><span class="True">     187:</span> <span class="f">#</span><span class="n">endif</span>
<a name="188" /><span class="True">     188:</span> 
<a name="189" /><span class="False">     189:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">USE_STACKCHECK</span>
<a name="190" /><span class="False">     190:</span> <span class="k">/* Check that we aren&apos;t overflowing our stack */</span>
<a name="191" /><span class="False">     191:</span> <a href="macros_ref.html#_UHlBUElfRlVOQ18w"><span class="b">PyAPI_FUNC</span></a><span class="f">(</span><span class="m">int</span><span class="f">)</span> <span class="b">PyOS_CheckStack</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="192" /><span class="True">     192:</span> <span class="f">#</span><span class="n">endif</span>
<a name="193" /><span class="True">     193:</span> 
<a name="194" /><span class="False">     194:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">__cplusplus</span>
<a name="195" /><span class="False">     195:</span> <span class="f">}</span>
<a name="196" /><span class="True">     196:</span> <span class="f">#</span><span class="n">endif</span>
<a name="197" /><span class="True">     197:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !Py_PYTHONRUN_H */</span>
<a name="198" /><span class="True">     198:</span> </pre>
  </body>
</html>
